[
    {
        "index": 0,
        "问题编号": "68f2a8798da0d51b47cea54e",
        "缺陷id": "aec2db486699c7c35b0f03eafc574230",
        "缺陷描述": "Do not directly call system assert, please use macro defined ASSERT instead.",
        "规范": "G.AST.01 断言必须使用宏定义，且只能在调试版本中生效【C】",
        "代码行数": 201,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "严重",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    assert(status == BLE_SUCCESS);",
        "代码片段": NaN
    },
    {
        "index": 1,
        "问题编号": "68f2a8798da0d51b47cea54f",
        "缺陷id": "aec2db486699c7c35b0f03eafc574230",
        "缺陷描述": "Do not directly call system assert, please use macro defined ASSERT instead.",
        "规范": "G.AST.01 断言必须使用宏定义，且只能在调试版本中生效【C】",
        "代码行数": 197,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "严重",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    assert(status == BLE_SUCCESS);",
        "代码片段": NaN
    },
    {
        "index": 2,
        "问题编号": "68f2a8798da0d51b47cea550",
        "缺陷id": "ac41263a504b6f3ccef4b14698ca09c7",
        "缺陷描述": "The loop condition is always true and there is no break or return.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 53,
        "文件路径": "led_demo/led_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (1) {",
        "代码片段": NaN
    },
    {
        "index": 3,
        "问题编号": "68f2a8798da0d51b47cea551",
        "缺陷id": "cf81811f409844f4d04dd270449b5a86",
        "缺陷描述": "The loop condition is always true and there is no break or return.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 42,
        "文件路径": "led_demo/led_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (1) {",
        "代码片段": NaN
    },
    {
        "index": 4,
        "问题编号": "68f2a8798da0d51b47cea552",
        "缺陷id": "c7d91df05553e8b7f6b049111062447f",
        "缺陷描述": "Assert statement calls a function which may have desired side effects。",
        "规范": "G.AST.03 禁止用断言检测程序在运行期间可能导致的错误，可能发生的错误要用错误处理代码来处理【C】",
        "代码行数": 201,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    assert(status == BLE_SUCCESS);",
        "代码片段": NaN
    },
    {
        "index": 5,
        "问题编号": "68f2a8798da0d51b47cea553",
        "缺陷id": "c7d91df05553e8b7f6b049111062447f",
        "缺陷描述": "Assert statement calls a function which may have desired side effects。",
        "规范": "G.AST.03 禁止用断言检测程序在运行期间可能导致的错误，可能发生的错误要用错误处理代码来处理【C】",
        "代码行数": 197,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    assert(status == BLE_SUCCESS);",
        "代码片段": NaN
    },
    {
        "index": 6,
        "问题编号": "68f2a8798da0d51b47cea554",
        "缺陷id": "fbff5921ef46f899ace1ea56f692f607",
        "缺陷描述": "The loop condition is always true and there is no break or return.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 265,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    for (;;) {",
        "代码片段": NaN
    },
    {
        "index": 7,
        "问题编号": "68f2a8798da0d51b47cea555",
        "缺陷id": "5cfcb74eac621b00eaad6b3dc93ec073",
        "缺陷描述": "Memory alloc size \"sz\" should be checked.",
        "规范": "G.MEM.01 内存申请前，必须对申请内存大小进行合法性校验【C】",
        "代码行数": 550,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "严重",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "        p = malloc(sz);",
        "代码片段": NaN
    },
    {
        "index": 8,
        "问题编号": "68f2a8798da0d51b47cea556",
        "缺陷id": "0e24bc33bcd002177c8c883a70f557b7",
        "缺陷描述": "The loop control variable is not updated or the loop control variable updated incorrectly.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 185,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (_inbyte(((DLY_1S)*FLUSH_INPUT_NBYTES) >> 1) >= 0) {",
        "代码片段": NaN
    },
    {
        "index": 9,
        "问题编号": "68f2a8798da0d51b47cea557",
        "缺陷id": "3af1a47b505158f30effcda849749350",
        "缺陷描述": "The loop condition is always true and there is no break or return.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 66,
        "文件路径": "ble_demo/b91_gatt_sample/ble_sample_main.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (1) {",
        "代码片段": NaN
    },
    {
        "index": 10,
        "问题编号": "68f2a8798da0d51b47cea558",
        "缺陷id": "b56ece4d5f9b5d94bf539118f1aa6a00",
        "缺陷描述": "The loop condition is always true and there is no break or return.",
        "规范": "G.CTL.03 循环必须安全退出【C】",
        "代码行数": 681,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (1) {",
        "代码片段": NaN
    },
    {
        "index": 11,
        "问题编号": "68f2a8798da0d51b47cea559",
        "缺陷id": "82a16dc3628743a07a40c9f8d7618a87",
        "缺陷描述": "Avoid long functions and ensure that functions contain no more than 50 lines (not including blank lines and comments).Function has 53 lines.",
        "规范": "G.FUD.05 函数要简短--函数大小【C】",
        "代码行数": 256,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "int xmodemReceive(unsigned char *xbuff, int destsz, XModemReceiveCB cb, void *arg)",
        "代码片段": NaN
    },
    {
        "index": 12,
        "问题编号": "68f2a8798da0d51b47cea55a",
        "缺陷id": "ece3612e4e2fd2136ebd7a4f9c44757e",
        "缺陷描述": "Avoid long functions and ensure that functions contain no more than 50 lines (not including blank lines and comments).Function has 89 lines.",
        "规范": "G.FUD.05 函数要简短--函数大小【C】",
        "代码行数": 564,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "STATIC CommandType CommandProcess(OTA_AppState *state)",
        "代码片段": NaN
    },
    {
        "index": 13,
        "问题编号": "68f2a8798da0d51b47cea55b",
        "缺陷id": "47c3d92fc47dac32e26515599fc1971d",
        "缺陷描述": "One line should have only one statement",
        "规范": "G.FMT.04-CPP 每个变量单独一行进行声明或赋值",
        "代码行数": 259,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    int bufsz = 0, use_src = 0;",
        "代码片段": NaN
    },
    {
        "index": 14,
        "问题编号": "68f2a8798da0d51b47cea55c",
        "缺陷id": "df51abef231f050f3a44bf0c6eaee01c",
        "缺陷描述": "One line should have only one statement",
        "规范": "G.FMT.04-CPP 每个变量单独一行进行声明或赋值",
        "代码行数": 262,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    int c, len = 0;",
        "代码片段": NaN
    },
    {
        "index": 15,
        "问题编号": "68f2a8798da0d51b47cea55d",
        "缺陷id": "e5784ac380a09de4e0d48d8b7dc1eca3",
        "缺陷描述": "One line should have only one statement",
        "规范": "G.FMT.04-CPP 每个变量单独一行进行声明或赋值",
        "代码行数": 263,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    int retry, retrans = MAXRETRANS;",
        "代码片段": NaN
    },
    {
        "index": 16,
        "问题编号": "68f2a8798da0d51b47cea55e",
        "缺陷id": "1da2b546e992c6af5bbde22835ec3d3c",
        "缺陷描述": "Avoid nesting a code block more than four times within a function.Function nesting depth is 5. Function name is : AppControllerEventCallback .",
        "规范": "G.FUD.05 函数要简短--函数嵌套层次【C】",
        "代码行数": 224,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "                if (func) {",
        "代码片段": NaN
    },
    {
        "index": 17,
        "问题编号": "68f2a8798da0d51b47cea55f",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 24,
        "文件路径": "led_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 18,
        "问题编号": "68f2a8798da0d51b47cea560",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 24,
        "文件路径": "xts_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 19,
        "问题编号": "68f2a8798da0d51b47cea561",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 24,
        "文件路径": "ble_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 20,
        "问题编号": "68f2a8798da0d51b47cea562",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 23,
        "文件路径": "mbedtls_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 21,
        "问题编号": "68f2a8798da0d51b47cea563",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 24,
        "文件路径": "ota_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 22,
        "问题编号": "68f2a8798da0d51b47cea564",
        "缺陷id": "02b6783c5ebad70489110238a4bd8846",
        "缺陷描述": "pointer parameter token can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 24,
        "文件路径": "uart_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMReadToken(char *token, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 23,
        "问题编号": "68f2a8798da0d51b47cea565",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 40,
        "文件路径": "led_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 24,
        "问题编号": "68f2a8798da0d51b47cea566",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 40,
        "文件路径": "xts_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 25,
        "问题编号": "68f2a8798da0d51b47cea567",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 40,
        "文件路径": "ble_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 26,
        "问题编号": "68f2a8798da0d51b47cea568",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 39,
        "文件路径": "mbedtls_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 27,
        "问题编号": "68f2a8798da0d51b47cea569",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 40,
        "文件路径": "ota_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 28,
        "问题编号": "68f2a8798da0d51b47cea56a",
        "缺陷id": "126df470095d41a103f197acda418168",
        "缺陷描述": "pointer parameter acKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 40,
        "文件路径": "uart_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetAcKey(char *acKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 29,
        "问题编号": "68f2a8798da0d51b47cea56b",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 48,
        "文件路径": "led_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 30,
        "问题编号": "68f2a8798da0d51b47cea56c",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 48,
        "文件路径": "xts_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 31,
        "问题编号": "68f2a8798da0d51b47cea56d",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 48,
        "文件路径": "ble_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 32,
        "问题编号": "68f2a8798da0d51b47cea56e",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 47,
        "文件路径": "mbedtls_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 33,
        "问题编号": "68f2a8798da0d51b47cea56f",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 48,
        "文件路径": "ota_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 34,
        "问题编号": "68f2a8798da0d51b47cea570",
        "缺陷id": "168c8eeb0e85e744bde3df80c7a366e8",
        "缺陷描述": "pointer parameter productId can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 48,
        "文件路径": "uart_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdId(char *productId, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 35,
        "问题编号": "68f2a8798da0d51b47cea571",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 56,
        "文件路径": "led_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 36,
        "问题编号": "68f2a8798da0d51b47cea572",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 56,
        "文件路径": "xts_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 37,
        "问题编号": "68f2a8798da0d51b47cea573",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 56,
        "文件路径": "ble_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 38,
        "问题编号": "68f2a8798da0d51b47cea574",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 55,
        "文件路径": "mbedtls_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 39,
        "问题编号": "68f2a8798da0d51b47cea575",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 56,
        "文件路径": "ota_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 40,
        "问题编号": "68f2a8798da0d51b47cea576",
        "缺陷id": "bce937529a0082894b0dd4995a97b9ad",
        "缺陷描述": "pointer parameter productKey can be pointer to const",
        "规范": "G.CNS.04-CPP 对于指针和引用类型的参数，如果不需要修改其引用的对象，应使用const修饰",
        "代码行数": 56,
        "文件路径": "uart_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int OEMGetProdKey(char *productKey, unsigned int len)",
        "代码片段": NaN
    },
    {
        "index": 41,
        "问题编号": "68f2a8798da0d51b47cea577",
        "缺陷id": "638c0b426b42e6572843728b115823f1",
        "缺陷描述": "invalid case style for enum constant $GenericAccess_PS_H$, it should be $GENERIC_ACCESS_PS_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 28,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAccess_PS_H,                     // UUID: 2800, VALUE: uuid 1800",
        "代码片段": NaN
    },
    {
        "index": 42,
        "问题编号": "68f2a8798da0d51b47cea578",
        "缺陷id": "94bb4552a70d4c2f0812565aff0de174",
        "缺陷描述": "invalid case style for enum constant $GenericAccess_DeviceName_CD_H$, it should be $GENERIC_ACCESS_DEVICE_NAME_CD_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 29,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAccess_DeviceName_CD_H,          // UUID: 2803, VALUE: Prop: Read | Notify",
        "代码片段": NaN
    },
    {
        "index": 43,
        "问题编号": "68f2a8798da0d51b47cea579",
        "缺陷id": "97f1edf27d21d769150cf080206d88f2",
        "缺陷描述": "invalid case style for enum constant $GenericAccess_DeviceName_DP_H$, it should be $GENERIC_ACCESS_DEVICE_NAME_DP_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 30,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAccess_DeviceName_DP_H,          // UUID: 2A00, VALUE: device name",
        "代码片段": NaN
    },
    {
        "index": 44,
        "问题编号": "68f2a8798da0d51b47cea57a",
        "缺陷id": "e6a1d58d9c821808ee6e7a5aae73a776",
        "缺陷描述": "invalid case style for enum constant $GenericAccess_Appearance_CD_H$, it should be $GENERIC_ACCESS_APPEARANCE_CD_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 31,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAccess_Appearance_CD_H,          // UUID: 2803, VALUE: Prop: Read",
        "代码片段": NaN
    },
    {
        "index": 45,
        "问题编号": "68f2a8798da0d51b47cea57b",
        "缺陷id": "bee25e452e9bee06a1ef6d6e00a69788",
        "缺陷描述": "invalid case style for enum constant $GenericAccess_Appearance_DP_H$, it should be $GENERIC_ACCESS_APPEARANCE_DP_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 32,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAccess_Appearance_DP_H,          // UUID: 2A01, VALUE: appearance",
        "代码片段": NaN
    },
    {
        "index": 46,
        "问题编号": "68f2a8798da0d51b47cea57c",
        "缺陷id": "c62849106aec49c646e3a8c196c30ebe",
        "缺陷描述": "invalid case style for enum constant $GenericAttribute_PS_H$, it should be $GENERIC_ATTRIBUTE_PS_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 37,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAttribute_PS_H,                  // UUID: 2800, VALUE: uuid 1801",
        "代码片段": NaN
    },
    {
        "index": 47,
        "问题编号": "68f2a8798da0d51b47cea57d",
        "缺陷id": "f9d0cb96eb895b05abf1b986bc0bbf42",
        "缺陷描述": "invalid case style for enum constant $GenericAttribute_ServiceChanged_CD_H$, it should be $GENERIC_ATTRIBUTE_SERVICE_CHANGED_CD_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 38,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAttribute_ServiceChanged_CD_H,   // UUID: 2803, VALUE: Prop: Indicate",
        "代码片段": NaN
    },
    {
        "index": 48,
        "问题编号": "68f2a8798da0d51b47cea57e",
        "缺陷id": "7bb5011bd482aaec672ec64a417d787a",
        "缺陷描述": "invalid case style for enum constant $GenericAttribute_ServiceChanged_DP_H$, it should be $GENERIC_ATTRIBUTE_SERVICE_CHANGED_DP_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 39,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAttribute_ServiceChanged_DP_H,   // UUID: 2A05, VALUE: service change",
        "代码片段": NaN
    },
    {
        "index": 49,
        "问题编号": "68f2a8798da0d51b47cea57f",
        "缺陷id": "646a80249251388f7d8bc117614dac97",
        "缺陷描述": "invalid case style for enum constant $GenericAttribute_ServiceChanged_CCB_H$, it should be $GENERIC_ATTRIBUTE_SERVICE_CHANGED_CCB_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 40,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    GenericAttribute_ServiceChanged_CCB_H,  // UUID: 2902, VALUE: serviceChangeCCC",
        "代码片段": NaN
    },
    {
        "index": 50,
        "问题编号": "68f2a8798da0d51b47cea580",
        "缺陷id": "6ce1399669ed37033e3078bddc2484f3",
        "缺陷描述": "invalid case style for enum constant $DeviceInformation_PS_H$, it should be $DEVICE_INFORMATION_PS_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 43,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    DeviceInformation_PS_H,                 // UUID: 2800, VALUE: uuid 180A",
        "代码片段": NaN
    },
    {
        "index": 51,
        "问题编号": "68f2a8798da0d51b47cea581",
        "缺陷id": "d6dc776052a717a17a911bc654d7ffc1",
        "缺陷描述": "invalid case style for enum constant $DeviceInformation_pnpID_CD_H$, it should be $DEVICE_INFORMATION_PNP_ID_CD_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 44,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    DeviceInformation_pnpID_CD_H,           // UUID: 2803, VALUE: Prop: Read",
        "代码片段": NaN
    },
    {
        "index": 52,
        "问题编号": "68f2a8798da0d51b47cea582",
        "缺陷id": "5f377813bec0f4fb141980c8ead34d66",
        "缺陷描述": "invalid case style for enum constant $DeviceInformation_pnpID_DP_H$, it should be $DEVICE_INFORMATION_PNP_ID_DP_H$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 45,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    DeviceInformation_pnpID_DP_H,           // UUID: 2A50, VALUE: PnPtrs",
        "代码片段": NaN
    },
    {
        "index": 53,
        "问题编号": "68f2a8798da0d51b47cea583",
        "缺陷id": "0b6a0c99c2e51f0bc4e350714ee0db98",
        "缺陷描述": "invalid case style for struct $gap_periConnectParams_t$, it should be $GapPeriConnectParamsT$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 62,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "} gap_periConnectParams_t;",
        "代码片段": NaN
    },
    {
        "index": 54,
        "问题编号": "68f2a8798da0d51b47cea584",
        "缺陷id": "306dcf28cd03c87e214daad8fa2e8438",
        "缺陷描述": "invalid case style for global constant $my_periConnParameters$, it should be $MY_PERI_CONN_PARAMETERS$ (UPPER_CASE)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 111,
        "文件路径": "ble_demo/b91_gatt_sample/app_att.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static const gap_periConnectParams_t my_periConnParameters = {8, 11, 0, 1000};",
        "代码片段": NaN
    },
    {
        "index": 55,
        "问题编号": "68f2a8798da0d51b47cea585",
        "缺陷id": "4ca67bf735b4a845eefe1e4aca8260a1",
        "缺陷描述": "undefined preprocessor symbol TELINK_GPIO_IRQ_SAMPLE_ENABLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 62,
        "文件路径": "led_demo/led_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_GPIO_IRQ_SAMPLE_ENABLE",
        "代码片段": NaN
    },
    {
        "index": 56,
        "问题编号": "68f2a8798da0d51b47cea586",
        "缺陷id": "cf1cf838609bed30afb481c12fcca17f",
        "缺陷描述": "undefined preprocessor symbol TELINK_GPIO_IRQ_SAMPLE_ENABLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 95,
        "文件路径": "led_demo/led_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_GPIO_IRQ_SAMPLE_ENABLE",
        "代码片段": NaN
    },
    {
        "index": 57,
        "问题编号": "68f2a8798da0d51b47cea587",
        "缺陷id": "9ee5287d4d2ef923e8d2fd1f0f9eeae4",
        "缺陷描述": "invalid case style for function $connect_cb_t$, it should be $ConnectCbT$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 24,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "typedef void (*connect_cb_t)(void);",
        "代码片段": NaN
    },
    {
        "index": 58,
        "问题编号": "68f2a8798da0d51b47cea588",
        "缺陷id": "298fad8c6f6071b45205a0f6840e09fc",
        "缺陷描述": "function 'uni_ble_ll_setAdvParam' exceeds recommended size/complexity thresholds",
        "规范": "G.FUN.01-CPP 函数功能要单一--函数参数个数",
        "代码行数": 26,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "ble_sts_t uni_ble_ll_setAdvParam(u16 intervalMin, u16 intervalMax, adv_type_t advType, own_addr_type_t ownAddrType,",
        "代码片段": NaN
    },
    {
        "index": 59,
        "问题编号": "68f2a8798da0d51b47cea589",
        "缺陷id": "cd20689964e6c1b78d1a7b5a27df56ff",
        "缺陷描述": "invalid case style for function $uni_ble_init$, it should be $UniBleInit$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 38,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_init(void);",
        "代码片段": NaN
    },
    {
        "index": 60,
        "问题编号": "68f2a8798da0d51b47cea58a",
        "缺陷id": "50e76e0966666042792c65a26ca81695",
        "缺陷描述": "invalid case style for function $uni_ble_l2cap_register_data_handler$, it should be $UniBleL2capRegisterDataHandler$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 40,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_l2cap_register_data_handler(void);",
        "代码片段": NaN
    },
    {
        "index": 61,
        "问题编号": "68f2a8798da0d51b47cea58b",
        "缺陷id": "854b697aa472c5b05d146f7f7ab689e9",
        "缺陷描述": "invalid case style for function $uni_ble_ll_initAdvertising_module$, it should be $UniBleLlInitAdvertisingModule$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 42,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_ll_initAdvertising_module(void);",
        "代码片段": NaN
    },
    {
        "index": 62,
        "问题编号": "68f2a8798da0d51b47cea58c",
        "缺陷id": "8f0219451c009f78d599b8b0db23f89c",
        "缺陷描述": "invalid case style for function $uni_ble_ll_initConnection_module$, it should be $UniBleLlInitConnectionModule$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 44,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_ll_initConnection_module(void);",
        "代码片段": NaN
    },
    {
        "index": 63,
        "问题编号": "68f2a8798da0d51b47cea58d",
        "缺陷id": "13d41743b448f4438ed6ae2a77c4773d",
        "缺陷描述": "invalid case style for function $uni_ble_ll_initSlaveRole_module$, it should be $UniBleLlInitSlaveRoleModule$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 46,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_ll_initSlaveRole_module(void);",
        "代码片段": NaN
    },
    {
        "index": 64,
        "问题编号": "68f2a8798da0d51b47cea58e",
        "缺陷id": "ba25a88d8323acdd30c7e636e5ab2c7d",
        "缺陷描述": "invalid case style for function $uni_ble_sdk_main_loop$, it should be $UniBleSdkMainLoop$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 48,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_sdk_main_loop(void);",
        "代码片段": NaN
    },
    {
        "index": 65,
        "问题编号": "68f2a8798da0d51b47cea58f",
        "缺陷id": "ff3ebadd7735116a59890d5c0c26b0b9",
        "缺陷描述": "invalid case style for function $uni_ble_sdk_irq_handler$, it should be $UniBleSdkIrqHandler$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 50,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_sdk_irq_handler(void);",
        "代码片段": NaN
    },
    {
        "index": 66,
        "问题编号": "68f2a8798da0d51b47cea590",
        "缺陷id": "c2a4bd66f6e79987bcecb6e13440236c",
        "缺陷描述": "invalid case style for function $uni_ble_register_connect_disconnect_cb$, it should be $UniBleRegisterConnectDisconnectCb$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 52,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_register_connect_disconnect_cb(connect_cb_t on_connect, connect_cb_t on_disconnect);",
        "代码片段": NaN
    },
    {
        "index": 67,
        "问题编号": "68f2a8798da0d51b47cea591",
        "缺陷id": "c2a4bd66f6e79987bcecb6e13440236c",
        "缺陷描述": "invalid case style for parameter $on_connect$, it should be $onConnect$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 52,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_register_connect_disconnect_cb(connect_cb_t on_connect, connect_cb_t on_disconnect);",
        "代码片段": NaN
    },
    {
        "index": 68,
        "问题编号": "68f2a8798da0d51b47cea592",
        "缺陷id": "c2a4bd66f6e79987bcecb6e13440236c",
        "缺陷描述": "invalid case style for parameter $on_disconnect$, it should be $onDisconnect$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 52,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.h",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "void uni_ble_register_connect_disconnect_cb(connect_cb_t on_connect, connect_cb_t on_disconnect);",
        "代码片段": NaN
    },
    {
        "index": 69,
        "问题编号": "68f2a8798da0d51b47cea593",
        "缺陷id": "f0191a3f50136bfc96355e08a91a4d87",
        "缺陷描述": "undefined preprocessor symbol TELINK_SDK_B91_BLE_SINGLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 46,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_SDK_B91_BLE_SINGLE",
        "代码片段": NaN
    },
    {
        "index": 70,
        "问题编号": "68f2a8798da0d51b47cea594",
        "缺陷id": "b12c8bf4e84be684f691581620a7ff00",
        "缺陷描述": "invalid case style for function $connect$, it should be $Connect$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 102,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static void connect(void)",
        "代码片段": NaN
    },
    {
        "index": 71,
        "问题编号": "68f2a8798da0d51b47cea595",
        "缺陷id": "8c7240ba4e0168eedb04deb9d4601cc6",
        "缺陷描述": "invalid case style for function $disconnect$, it should be $Disconnect$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 107,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static void disconnect(void)",
        "代码片段": NaN
    },
    {
        "index": 72,
        "问题编号": "68f2a8798da0d51b47cea596",
        "缺陷id": "f332f9c18ce07413bfef7a4763de6410",
        "缺陷描述": "undefined preprocessor symbol TELINK_SDK_B91_BLE_MULTI in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 141,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_SDK_B91_BLE_MULTI",
        "代码片段": NaN
    },
    {
        "index": 73,
        "问题编号": "68f2a8798da0d51b47cea597",
        "缺陷id": "f332f9c18ce07413bfef7a4763de6410",
        "缺陷描述": "undefined preprocessor symbol TELINK_SDK_B91_BLE_MULTI in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 152,
        "文件路径": "ble_demo/b91_gatt_sample/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_SDK_B91_BLE_MULTI",
        "代码片段": NaN
    },
    {
        "index": 74,
        "问题编号": "68f2a8798da0d51b47cea598",
        "缺陷id": "c01f616895b29ac9d9ce60aacfcfec3c",
        "缺陷描述": "invalid case style for global variable $g_app_ble_state$, it should be $g_appBleState$ (camelBack with prefix g_)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 30,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "} g_app_ble_state;",
        "代码片段": NaN
    },
    {
        "index": 75,
        "问题编号": "68f2a8798da0d51b47cea599",
        "缺陷id": "970afc05a02db6d84ad1f28096c1e643",
        "缺陷描述": "undefined preprocessor symbol TELINK_SDK_B91_BLE_SINGLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 32,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if TELINK_SDK_B91_BLE_SINGLE",
        "代码片段": NaN
    },
    {
        "index": 76,
        "问题编号": "68f2a8798da0d51b47cea59a",
        "缺陷id": "d48e14189b2f2db39da00f727187388f",
        "缺陷描述": "undefined preprocessor symbol TELINK_SDK_B91_BLE_MULTI in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 132,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#elif TELINK_SDK_B91_BLE_MULTI",
        "代码片段": NaN
    },
    {
        "index": 77,
        "问题编号": "68f2a8798da0d51b47cea59b",
        "缺陷id": "faec5cc9e924d660b2939fe74ae9f886",
        "缺陷描述": "invalid case style for function $os_give_sem_cb$, it should be $OsGiveSemCb$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 50,
        "文件路径": "ble_demo/b91_gatt_sample/ble_sample_main.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static void os_give_sem_cb(void)",
        "代码片段": NaN
    },
    {
        "index": 78,
        "问题编号": "68f2a8798da0d51b47cea59c",
        "缺陷id": "a496c000e5e619f715cd2d00868aa86d",
        "缺陷描述": "undefined preprocessor symbol LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 68,
        "文件路径": "ota_demo/ota_demo/serial.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE",
        "代码片段": NaN
    },
    {
        "index": 79,
        "问题编号": "68f2a8798da0d51b47cea59d",
        "缺陷id": "a496c000e5e619f715cd2d00868aa86d",
        "缺陷描述": "undefined preprocessor symbol LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 93,
        "文件路径": "ota_demo/ota_demo/serial.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE",
        "代码片段": NaN
    },
    {
        "index": 80,
        "问题编号": "68f2a8798da0d51b47cea59e",
        "缺陷id": "a496c000e5e619f715cd2d00868aa86d",
        "缺陷描述": "undefined preprocessor symbol LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE in the controlling expr of #if/#elif ",
        "规范": "G.PRE.04-CPP #if 或 #elif 预处理指令中的常量表达式被求值前应确保其使用的标识符已定义",
        "代码行数": 110,
        "文件路径": "ota_demo/ota_demo/serial.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "#if LOSCFG_UART_BUFFERED_TX_BUFFER_ENABLE",
        "代码片段": NaN
    },
    {
        "index": 81,
        "问题编号": "68f2a8798da0d51b47cea59f",
        "缺陷id": "54f67130f5c34030fe3d33a169d5c5d4",
        "缺陷描述": "invalid case style for struct $xmodemReceiveCBArg$, it should be $XmodemReceiveCbArg$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 110,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "} xmodemReceiveCBArg;",
        "代码片段": NaN
    },
    {
        "index": 82,
        "问题编号": "68f2a8798da0d51b47cea5a0",
        "缺陷id": "67ebc88bfd09c80390d7b5270cd70777",
        "缺陷描述": "invalid case style for function $crc16_ccitt$, it should be $Crc16Ccitt$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 117,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "unsigned short crc16_ccitt(const unsigned char *buf, int len)",
        "代码片段": NaN
    },
    {
        "index": 83,
        "问题编号": "68f2a8798da0d51b47cea5a1",
        "缺陷id": "b34f3574a088aadacbbe74642282a39d",
        "缺陷描述": "The controlling expression (while) must be a Boolean value or a Pointer rather than 'int'",
        "规范": "G.EXP.36-CPP 控制表达式的结果应是布尔值",
        "代码行数": 122,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (remain--) {",
        "代码片段": NaN
    },
    {
        "index": 84,
        "问题编号": "68f2a8798da0d51b47cea5a2",
        "缺陷id": "4513e1302b18b4418b21d4741bda5c80",
        "缺陷描述": "The controlling expression (if) must be a Boolean value or a Pointer rather than 'int'",
        "规范": "G.EXP.36-CPP 控制表达式的结果应是布尔值",
        "代码行数": 126,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "            if (crc & 0x8000) {",
        "代码片段": NaN
    },
    {
        "index": 85,
        "问题编号": "68f2a8798da0d51b47cea5a3",
        "缺陷id": "0169c405e4d3f0a49d61d27ae8f956e1",
        "缺陷描述": "invalid case style for function $check$, it should be $Check$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 136,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int check(bool is_crc, const unsigned char *buf, int sz)",
        "代码片段": NaN
    },
    {
        "index": 86,
        "问题编号": "68f2a8798da0d51b47cea5a4",
        "缺陷id": "0169c405e4d3f0a49d61d27ae8f956e1",
        "缺陷描述": "invalid case style for parameter $is_crc$, it should be $isCrc$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 136,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int check(bool is_crc, const unsigned char *buf, int sz)",
        "代码片段": NaN
    },
    {
        "index": 87,
        "问题编号": "68f2a8798da0d51b47cea5a5",
        "缺陷id": "31041913af46c788944aa3fc3570c76b",
        "缺陷描述": "invalid case style for function $_inbyte$, it should be $Inbyte$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 158,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int _inbyte(unsigned short timeout_ms)",
        "代码片段": NaN
    },
    {
        "index": 88,
        "问题编号": "68f2a8798da0d51b47cea5a6",
        "缺陷id": "31041913af46c788944aa3fc3570c76b",
        "缺陷描述": "invalid case style for parameter $timeout_ms$, it should be $timeoutMs$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 158,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int _inbyte(unsigned short timeout_ms)",
        "代码片段": NaN
    },
    {
        "index": 89,
        "问题编号": "68f2a8798da0d51b47cea5a7",
        "缺陷id": "414fba28120c3ed561c0b2a22e0e9373",
        "缺陷描述": "invalid case style for function $_outbyte$, it should be $Outbyte$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 178,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static void _outbyte(int c)",
        "代码片段": NaN
    },
    {
        "index": 90,
        "问题编号": "68f2a8798da0d51b47cea5a8",
        "缺陷id": "f96bbfd33f232e7f09f84a1dc21cf355",
        "缺陷描述": "invalid case style for function $flushinput$, it should be $Flushinput$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 183,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static void flushinput(void)",
        "代码片段": NaN
    },
    {
        "index": 91,
        "问题编号": "68f2a8798da0d51b47cea5a9",
        "缺陷id": "df33f6460cd50bb23a328deafb2db853",
        "缺陷描述": "Should add space after binary operator '*'.",
        "规范": "G.FMT.11 用空格突出关键字和重要信息--二元表达式【C】",
        "代码行数": 185,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (_inbyte(((DLY_1S)*FLUSH_INPUT_NBYTES) >> 1) >= 0) {",
        "代码片段": NaN
    },
    {
        "index": 92,
        "问题编号": "68f2a8798da0d51b47cea5aa",
        "缺陷id": "df33f6460cd50bb23a328deafb2db853",
        "缺陷描述": "Should add space before binary operator '*'.",
        "规范": "G.FMT.11 用空格突出关键字和重要信息--二元表达式【C】",
        "代码行数": 185,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    while (_inbyte(((DLY_1S)*FLUSH_INPUT_NBYTES) >> 1) >= 0) {",
        "代码片段": NaN
    },
    {
        "index": 93,
        "问题编号": "68f2a8798da0d51b47cea5ab",
        "缺陷id": "2a7dc3dfc7be037123f67c80bba10865",
        "缺陷描述": "invalid case style for function $get_first_byte$, it should be $GetFirstByte$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 191,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int get_first_byte(int *c)",
        "代码片段": NaN
    },
    {
        "index": 94,
        "问题编号": "68f2a8798da0d51b47cea5ac",
        "缺陷id": "95d0cdcd0d5631ac63f98c42fb580fff",
        "缺陷描述": "function 'packet_check' exceeds recommended size/complexity thresholds",
        "规范": "G.FUN.01-CPP 函数功能要单一--函数参数个数",
        "代码行数": 224,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int packet_check(unsigned char *xbuff, int destsz, XModemReceiveCB cb, UINT8 *arg, int bufsz,",
        "代码片段": NaN
    },
    {
        "index": 95,
        "问题编号": "68f2a8798da0d51b47cea5ad",
        "缺陷id": "3a223d5fb7acb914d65644f9220ef6c4",
        "缺陷描述": "invalid case style for parameter $use_src$, it should be $useSrc$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 225,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "                        unsigned char *packetno, int *retrans, bool use_src, int *len)",
        "代码片段": NaN
    },
    {
        "index": 96,
        "问题编号": "68f2a8798da0d51b47cea5ae",
        "缺陷id": "0a1cc188fa0d54d068c7e75d505c7887",
        "缺陷描述": "invalid case style for function $xmodemReceive$, it should be $XmodemReceive$ (CamelCase)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 256,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "int xmodemReceive(unsigned char *xbuff, int destsz, XModemReceiveCB cb, void *arg)",
        "代码片段": NaN
    },
    {
        "index": 97,
        "问题编号": "68f2a8798da0d51b47cea5af",
        "缺陷id": "3a2f67fc812c09cdeaeb72bce982fe93",
        "缺陷描述": "invalid case style for local variable $use_src$, it should be $useSrc$ (camelBack)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 259,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "    int bufsz = 0, use_src = 0;",
        "代码片段": NaN
    },
    {
        "index": 98,
        "问题编号": "68f2a8798da0d51b47cea5b0",
        "缺陷id": "f10869f1c1b0087c8fc6d0b7cc433a7a",
        "缺陷描述": "The controlling expression (if) must be a Boolean value or a Pointer rather than 'unsigned char'",
        "规范": "G.EXP.36-CPP 控制表达式的结果应是布尔值",
        "代码行数": 267,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "            if (trychar) {",
        "代码片段": NaN
    },
    {
        "index": 99,
        "问题编号": "68f2a8798da0d51b47cea5b1",
        "缺陷id": "54df9f4c1c62c09cc28a3ddbe356fa18",
        "缺陷描述": "invalid case style for global variable $txbuf$, it should be $g_txbuf$ (camelBack with prefix g_)",
        "规范": "G.NAM.03-CPP 使用统一的命名风格",
        "代码行数": 44,
        "文件路径": "uart_demo/uart_demo/app.c",
        "问题级别": "建议",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "uint8_t txbuf[80] = \"\\nHDF uart test string 1\\n\";",
        "代码片段": NaN
    },
    {
        "index": 100,
        "问题编号": "68f2a8798da0d51b47cea5b2",
        "缺陷id": "8b6fbd102f6f957a4baf94d07f9df109",
        "缺陷描述": "全面 in open source code should be common or original in the industry, and descriptions that may cause ambiguity should be avoided.",
        "规范": "WordsTool.294 全面",
        "代码行数": 41,
        "文件路径": "README_zh.md",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "全面而详细的目录结构，包括演示样例的代码的配置文件和HAL模块所在位置，可以参考TLSR9系列SoC芯片SDK仓库README文档中的章节[确认目录结构](https://gitee.com/openharmony/device_soc_telink/blob/master/README_zh.md#确认目录结构)。",
        "代码片段": NaN
    },
    {
        "index": 101,
        "问题编号": "68f2a8798da0d51b47cea5b3",
        "缺陷id": "f4246dea22205d5dc3d09d7486f55153",
        "缺陷描述": "ble_demo/hals/utils/sys_param/hal_sys_param.c\nled_demo/hals/utils/sys_param/hal_sys_param.c\nuart_demo/hals/utils/sys_param/hal_sys_param.c\nxts_demo/hals/utils/sys_param/hal_sys_param.c\n",
        "规范": "重复文件[C++]",
        "代码行数": 0,
        "文件路径": "xts_demo/hals/utils/sys_param/hal_sys_param.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": NaN,
        "代码片段": NaN
    },
    {
        "index": 102,
        "问题编号": "68f2a8798da0d51b47cea5b4",
        "缺陷id": "eb8314c82a58710a3b04af5cb8cda7f1",
        "缺陷描述": "ble_demo/hals/utils/token/hal_token.c\nled_demo/hals/utils/token/hal_token.c\nota_demo/hals/utils/token/hal_token.c\nuart_demo/hals/utils/token/hal_token.c\nxts_demo/hals/utils/token/hal_token.c\n",
        "规范": "重复文件[C++]",
        "代码行数": 0,
        "文件路径": "xts_demo/hals/utils/token/hal_token.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": NaN,
        "代码片段": NaN
    },
    {
        "index": 103,
        "问题编号": "68f2a8798da0d51b47cea5b5",
        "缺陷id": "24bfb0fec044eacf886a14398d76ccfd",
        "缺陷描述": "the depth of the method {AppControllerEventCallback()} is 5, it is over 4",
        "规范": "超大深度函数[C++]",
        "代码行数": 205,
        "文件路径": "ble_demo/b91_gatt_sample/uni_ble.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "static int AppControllerEventCallback(u32 event, u8 *param, int paramLen)",
        "代码片段": NaN
    },
    {
        "index": 104,
        "问题编号": "68f2a8798da0d51b47cea5b6",
        "缺陷id": "d4d2c5dbc33c02ed113a95e2674fd7fe",
        "缺陷描述": "the nbnc line of the method {xmodemReceive()} is 55, it is over 50",
        "规范": "超大函数[C++]",
        "代码行数": 256,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "int xmodemReceive(unsigned char *xbuff, int destsz, XModemReceiveCB cb, void *arg)",
        "代码片段": NaN
    },
    {
        "index": 105,
        "问题编号": "68f2a8798da0d51b47cea5b7",
        "缺陷id": "a652402fb15910b64e74e55d67365d2d",
        "缺陷描述": "the cyclomatic complexity of the method {CommandProcess()} is 33, it is over 20",
        "规范": "超大圈复杂度[C++]",
        "代码行数": 564,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "STATIC CommandType CommandProcess(OTA_AppState *state)",
        "代码片段": NaN
    },
    {
        "index": 106,
        "问题编号": "68f2a8798da0d51b47cea5b8",
        "缺陷id": "b5cae068e974b5a22ccb57d1337b1425",
        "缺陷描述": "the nbnc line of the method {CommandProcess()} is 91, it is over 50",
        "规范": "超大函数[C++]",
        "代码行数": 564,
        "文件路径": "ota_demo/ota_demo/app.c",
        "问题级别": "一般",
        "问题状态(0:未解决，1：已解决 2：已忽略)": 0,
        "创建时间": "STATIC CommandType CommandProcess(OTA_AppState *state)",
        "代码片段": NaN
    }
]